package com.dc.business.datacollectbusiness.service;

import com.dc.business.datacollectbusiness.entity.Meter;
import com.dc.business.datacollectbusiness.model.*;
import com.dc.business.datacollectbusiness.model.大屏显示.饼图.Btumodel;
import com.dc.business.datacollectbusiness.model.大屏显示.采集器报警.Collectormodel;
import com.dc.business.datacollectbusiness.model.大屏显示.柱状图.Zztmodel;
import com.dc.business.datacollectbusiness.model.大屏显示.折线图.ZxtmodelDays;
import com.dc.business.datacollectbusiness.model.大屏显示.折线图.ZxtmodelHours;
import com.dc.business.datacollectbusiness.model.大屏显示.折线图.ZxtmodelMonth;
import com.dc.business.datacollectbusiness.model.表格数据.*;

import java.util.List;

public interface MeterService {

    /**
     * 删除点位信息
     */
    public boolean deleteMeterById(int meterId);
    /**
     * 添加点位信息
     */
    public int insertMeter(Meter meter);
    /**
     * 修改点位信息
     */
    public boolean updateMeter(Meter meter);

    /**
     * 点击层级显示点位信息
     */
    public List<Meter> seleteMeterBycengji(Meter meter);

    /**
     * 删除多个点位
     */
    public boolean deleteMeterByIdall(Meterarr meterarr);

    /**
     * 获取一个点位通过id
     */
    public Meter selectMeterById(int meterId);

    /**
     * 配置点位信息
     */
    public boolean setMeter(int meterId,int number,int collectorPassageId);

    /**
     * 获取点位详情信息
     */
    public Meter getsetMeter(int meterId);

    /**
     * 获取点位数据小时 lj
     */
    public List<MeterdateHourLj> getMeterDateByHourLj(Meter meter);
    /**
     * 获取点位数据小时 xh
     */
    public List<MeterdateHourXh> getMeterDateByHourXh(Meter meter);

    /**
     * 获取点位数据天 lj
     */
    public List<MeterdateDayLj> getMeterDateByDayLj(Meter meter);

    /**
     * 获取点位数据天 xh
     */
    public List<MeterdateDayXh> getMeterDateByDayXh(Meter meter);

    /**
     * 获取点位数据月 lj
     */
    public List<MeterdateMounthLj> getMeterDateByMounthLj(Meter meter);

    /**
     * 获取点位数据月 xh
     */
    public List<MeterdateMounthXh> getMeterDateByMounthXh(Meter meter);

    /**
     * 点击层级显示点位信息 分用户
     */
    public List<Meter> seleteMeterBycengji2(Meter meter);

    /**
     * 获取点位数据小时 分用户 lj
     */
    public List<MeterdateHourLj> getMeterDateByHourLj2(Meter meter);

    /**
     * 获取点位数据小时 分用户 xh
     */
    public List<MeterdateHourXh> getMeterDateByHourXh2(Meter meter);

    /**
     * 获取点位数据天 分用户 lj
     */
    public List<MeterdateDayLj> getMeterDateByDayLj2(Meter meter);

    /**
     * 获取点位数据天 分用户 xh
     */
    public List<MeterdateDayXh> getMeterDateByDayXh2(Meter meter);

    /**
     * 获取点位数据月 分用户 lj
     */
    public List<MeterdateMounthLj> getMeterDateByMounthLj2(Meter meter);

    /**
     * 获取点位数据月 分用户  xh
     */
    public List<MeterdateMounthXh> getMeterDateByMounthXh2(Meter meter);


    /**
     *大屏显示折线图今天
     */
    public ZxtmodelHours getmeterdateDpZxJt(Meter meter);

    /**
     *大屏显示折线图昨天
     */
    public ZxtmodelHours getmeterdateDpZxZt(Meter meter);


    /**
     *大屏显示折线图近七天
     */
    public ZxtmodelDays getmeterdateDpZxJqt(Meter meter);

    /**
     *大屏显示折线图一个月
     */
    public ZxtmodelMonth getmeterdateDpZxYgy(Meter meter);


    /**
     *大屏显示柱状图
     */
    public List<Zztmodel> getmeterdateDpZx(Meter meter);

    /**
     *大屏显示饼图
     */
    public List<Btumodel> getmeterdateDpBt(Meter meter);

    /*获取所有点位信息*/
    public List<Meter> getAllmeterdate();

    /*大屏显示点位采集器状态*/
    public List<Collectormodel> getAllState();


}
